home *** CD-ROM | disk | FTP | other *** search
- //<!--
- //*****************************************************************************//
- // (C) Copyright Virtual Mechanics 1998 Version 1.05, All rights reserved. //
- // All copies of this software must include this Copyright notice. //
- //*****************************************************************************//
- var Version = 0;
- nm = new Array();
- Active = new Array();
- ob = new Array();
- cpox = new Array();
- cpoy = new Array();
- spox = new Array();
- spoy = new Array();
- epox = new Array();
- epoy = new Array();
- var Lpox;
- var Lpoy;
- dpox = new Array();
- dpoy = new Array();
- atDis = new Array();
- DisPt = new Array();
- disStep = new Array();
- Plen = new Array();
- Path = new Array();
- obRef= new Array();
- Gtyp = new Array();
- Gnpt=new Array();
- Gnam = new Array();
- Glen = new Array();
- Gszx = new Array();
- Gszy = new Array();
- Gorx = new Array();
- Gory = new Array();
- Gpxl = new Array();
- Gpyl = new Array();
- Gbrl = new Array();
- Gbrt = new Array();
- Gbrr = new Array();
- Gbrb = new Array();
- Grps = new Array();
- Grpl = new Array();
- Gspt = new Array();
- Snam = new Array();
- Scnt = new Array();
- PathCount = new Array();
- LastPt = new Array();
- lstVal = new Array();
-
- TimeLeft = new Array();
- AEvent = new Array();
- WDEvent = new Array();
- WAEvent = new Array();
- AValue = new Array();
- ATime = new Array();
- AEnter = new Array();
- ALeave = new Array();
- AKey = new Array();
- IKey = new Array();
- DEvent = new Array();
- DValue = new Array();
- DTime = new Array();
- DEnter = new Array();
- DLeave = new Array();
- DAKey = new Array();
- DIKey = new Array();
- WASOp = new Array();
- WAGOp = new Array();
- OpForm = new Array();
- WAAObj = new Array();
- WADObj = new Array();
- WAForm = new Array();
- WASVal = new Array();
- WAGVal = new Array();
- WACgeo = new Array();
- WACsnd = new Array();
- WACact = new Array();
- WACevt = new Array();
- WACatt = new Array();
- WACobj = new Array();
- WANobj = new Array();
- WALink = new Array();
- WDAObj = new Array();
- WDDObj = new Array();
- EndPath = new Array();
- MType = new Array();
-
- MPath = new Array();
- MRate = new Array();
- MTime = new Array();
- MDelay = new Array();
- MRepeat= new Array();
- MCount = new Array();
- MPLen = new Array();
- MDir = new Array();
- MGWst = new Array();
- MGNth = new Array();
- MGEst = new Array();
- MGSth = new Array();
-
- eDELAY = (1);
- eDELAY_TIME = (2);
- eMOUSE = (4);
- eMOUSE_OVER = (8);
- eLMOUSE = (16);
- eRMOUSE = (32);
- eKEY = (64);
- eOBJECT_ENTER = (128);
- eOBJECT_ENTER_LIST = (256);
- eOBJECT_LEAVE = (512);
- eOBJECT_LEAVE_LIST = (1024);
- eLT_VALUE = (2048);
- eEQ_VALUE = (4096);
- eGT_VALUE = (8192);
- eVALUE = (16384);
- eENDPATH = (32768);
- eACTIVATE_1 = (65536);
- eACTIVATE_2 = (131072);
- eANDtest = (1<<30);
- var pageTime = -1;// link timer
- var Cobj;
- var Catt;
- var Cact;
- var Cevt;
- var Cgrp;
- var Cgeo;
- var Csnd;
- var Cpob;
- var Gpgo;
- var gcx;
- var gcy;
- var gcx;
- var gcy;
- var cmx = 0;
- var cmy = 0;
- var smx = -9999;
- var smy = -9999;
- var slm = 0;
- var llm = -9999;
- var sky = " ";
- var lstsnd = -1;
-
- var lmx = -9999;
- var lmy = -9999;
- var lky = 0;
- var totObj;
- var mS;
- var mW;
- var waitTime;
- var GEO_TYPE = 7;
- var GEO_OPEN = 8;
- var GEO_COUNT= 32;
- ACT_XPATH_STOP =(0);
- ACT_XPATH_OBJPTH =(1<<0);
- ACT_XPATH_OBJXYZ =(1<<1);
- ACT_XPATH_LEFT =(1<<2);
- ACT_XPATH_RIGHT =(1<<3);
- ACT_XPATH_MOUSE =(1<<4);
- ACT_YPATH_STOP =(0);
- ACT_YPATH_OBJPTH =(1<<8);
- ACT_YPATH_OBJXYZ =(1<<9);
- ACT_YPATH_UP =(1<<10);
- ACT_YPATH_DOWN =(1<<11);
- ACT_YPATH_MOUSE =(1<<12);
- ACT_ZPATH_STOP =(0);
- ACT_ZPATH_OBJPTH =(1<<16);
- ACT_ZPATH_OBJXYZ =(1<<17);
- ACT_ZPATH_IN =(1<<18);
- ACT_ZPATH_OUT =(1<<19);
- ACT_ZPATH_KEY =(1<<20);
- ACT_PATH_STOP =(0);
- ACT_PATH_START =(1<<24);
- ACT_PATH_CENTER =(1<<25);
- ACT_PATH_END =(1<<26);
- ACT_GEO_WEST =(1<<28);
- ACT_GEO_EAST =(1<<29);
- ACT_GEO_NORTH =(1<<30);
- ACT_GEO_SOUTH =(1<<31);
- ACT_SETX =(0xffffff00);
- ACT_SETY =(0xffff00ff);
- ACT_SETZ =(0xff00ffff);
- ACT_SETO =(0xf0ffffff);
- ACT_SETF =(0x0fffffff);
- ACT_GETX =(0x000000ff);
- ACT_GETY =(0x0000ff00);
- ACT_GETZ =(0x00ff0000);
- ACT_GETO =(0x0f000000);
- ACT_GETF =(0xf0000000);
-
- /**************************************************************************/
- var isNav4 = false, isIE4 = false;
- if (navigator.appVersion.charAt(0) >= "4") {
- if (navigator.appName == "Netscape") {
- isNav4 = true;
- window.captureEvents(Event.MOUSEUP|Event.MOUSEDOWN|Event.MOUSEMOVE|Event.KEYPRESS);
- window.onmousedown=NNmouseDown;
- window.onmouseup=NNmouseUp;
- window.onmousemove=NNmouseMove;
- window.onkeypress=NNkeyPress;
- }
- else if (navigator.appVersion.indexOf("MSIE") != -1) {
- window.document.onmousemove = IEmouseMove;
- window.document.onkeypress = IEkeyPress;
- window.document.onmousedown = IEmouseDown;
- window.document.onmouseup = IEmouseUp;
- window.document.onkeydown = IEkeyPress;
- window.document.ondragstart = IECancelEvent;
- isIE4 = true;
- }
- }
- function NNmouseMove(e) {
- cmx = e.pageX;
- cmy = e.pageY;
- sclx = window.pageXOffset;
- scly = window.pageYOffset;
- }
- function NNmouseDown(e) {
- slm = slm | 1;
- // window.releaseEvents(Event.MOUSEMOVE);
- // window.releaseEvents(Event.MOUSEDOWN);
- // document.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
- document.onmousemove=drag;
- document.onmouseup=enddrag;
- smx=e.pageX;
- smy=e.pageY + window.pageYOffset;
- return true;
- }
- function enddrag(e) {
- slm = slm | 2;
- smx = e.pageX + window.pageXOffset;
- smy = e.pageY + window.pageYOffset;
- document.onmousemove=0;
- document.releaseEvents(Event.MOUSEMOVE);
- document.releaseEvents(Event.MOUSEUP);
- window.captureEvents(Event.MOUSEMOVE|Event.MOUSEDOWN|Event.KEYPRESS);
- return false;
- }
- function drag(e) {
- cmx = e.pageX + window.pageXOffset;
- cmy = e.pageY + window.pageYOffset;
- }
-
- function NNmouseUp(e) {
- slm = slm | 2 + window.pageXOffset;
- smx = e.pageX + window.pageXOffset;
- smy = e.pageY + window.pageYOffset;
- }
-
- function NNkeyPress(e) {
- sky = String.fromCharCode(e.which);
- }
-
- function IEmouseMove() {
- cmx = window.event.clientX + document.body.scrollLeft;
- cmy = window.event.clientY + document.body.scrollTop;
- sclx = document.body.scrollLeft;
- scly = document.body.scrollTop;
- }
-
- function IEmouseDown() {
- slm = slm | 1;
- smx = window.event.clientX + document.body.scrollLeft;
- smy = window.event.clientY + document.body.scrollTop;
- }
-
- function IEmouseUp() {
- slm = slm | 2;
- smx = window.event.clientX + document.body.scrollLeft;
- smy = window.event.clientY + document.body.scrollTop;
- }
-
- function IEkeyPress() {
- sky = window.event.keyCode;
- }
- function IECancelEvent() {
- window.event.returnValue=false;
- }
- /**************************************************************************/
- function Setup() {
- // setup defaults
- tmCount=0;
-
- obRef[0] = 0;
- ob[0] = new Array();
- ob[0] = 0;
- ob[0].name = "Geo0";
- ob[0].geo = 0;
- ob[0].att = 0;
- ob[0].evt = 0;
- ob[0].act = 0;
- ob[0].grp = 0;
- ob[0].cpox =0.000000;
- ob[0].cpoy =0.000000;
- ob[0].cscx =1.000000;
- ob[0].cscy =1.000000;
- ob[0].crot =0.000000;
- ob[0].flg = 0;
-
- MPath[0] = 0;
-
- for(nob=1; nob<= pageObj; nob++) {
- ref = pObjLst[nob];
- cobj = obRef[ref];
- spox[cobj] = ob[cobj].cpox;
- spoy[cobj] = ob[cobj].cpoy;
- SetPath(cobj);
-
- reset(cobj);
-
- if(ob[cobj].flg & 16)
- Active[cobj] = 4; // set to initial active state
- }
- }
-
- /***************************************************************************/
- function ticktime() {
- doObjectList();
- window.setTimeout("ticktime();", waitTime, "JavaScript");
- }
-
- function doObjectList() {
- // window.norefresh;
- if(pageTime >= 0)
- {
- tmCount++;
- if(tmCount > pageTime)
- {
- window.location=pgLink;
- pageTime = -1;
- }
- }
-
- if(lmx == smx) smx = -99999;
- if(lmy == smy) smy = -99999;
- if(lky == sky) sky = " ";
- llt = 0;
- if((llm & 2) == (slm & 2)) slm = (slm & ~2);
- if((llm & 1) == (slm & 1)) slm = (slm & ~1);
- lmx = smx;
- lmy = smy;
- lky = sky;
- llm = slm;
-
- MoOvrTst();
-
- for(nob=1; nob<= pageObj; nob++) {
- ref = pObjLst[nob];
- gcx = 0;
- gcy = 0;
- cobj = obRef[ref]
- Cgrp = ob[cobj].grp;
- if(!Cgrp) doObject(cobj);
- }
- }
-
- function MoOvrTst() {
- for(i=0; i < MoLNo; i++) {
- Cobj = Molst[i];
- Cgeo = ob[Cobj].geo;
- if(MouseOver() == 1) {
- if(ob[Cobj].flg & 256) ob[Cobj].style.visibility = "visible";
- else ob[Cobj].style.visibility = "hidden";
- }
- else {
- if(ob[Cobj].flg & 128) ob[Cobj].style.visibility = "visible";
- else ob[Cobj].style.visibility = "hidden";
- }
- }}
-
- //function MouseOver() {
- // if ( cmx >= ob[Cobj].left && cmx <= ob[Cobj].right && cmy >= ob[Cobj].top && cmy <= ob[Cobj].bottom) return 1;
- // return 0;
- //}
-
- function doObject(cobj)
- {
- Cobj = cobj;
- Cgeo = ob[Cobj].geo;
- Csnd = ob[Cobj].snd;
- Cevt = ob[Cobj].evt;
- Catt = ob[Cobj].att;
- Cact = ob[Cobj].act;
-
- if(Cact)
- {
- Cpob = MPath[Cact];
- if(Cpob)
- Cpgo = ob[Cpob].geo;
- else
- Cpgo = 0;
- }
- else
- {
- Cpob = 0;
- Cpgo = 0;
- }
-
- if(Cevt) Evtest();
-
- if (Active[Cobj] == 4) whenActive();
- else if(Active[Cobj] == 2) whenDeactive();
- else if(Active[Cobj] == 1) isActive();
- else if(Active[Cobj] == 0) isDeactive();
-
- if(Cgeo && (Gtyp[Cgeo] & (1<<4)))
- {
- doGroup(Cgeo);
- return;
- }
-
- }
- function doGroup(cgrp)
- {
- var gobj;
- gcx = cpox[Cobj];
- gcy = cpoy[Cobj];
- gobj = Cobj;
- for(i = 0; i < Grps[cgrp]; i++)
- {
- doObject(Grpl[cgrp][i]);
- ob[Cobj].style.left=gcx+cpox[Cobj] - Gszx[Cgeo] * ob[Cobj].cscx;
- ob[Cobj].style.top =gcy+cpoy[Cobj] - Gszy[Cgeo] * ob[Cobj].cscy;
- }
- return;
- }
- /*************************************************************************/
- function UpdPos() {
- Lpox = cpox[Cobj];
- Lpoy = cpoy[Cobj];
- // end of path condition
- if(Plen[Cobj] > 0 && atDis[Cobj] >= Plen[Cobj])
- {
- atDis[Cobj] -= Plen[Cobj];
- DisPt[Cobj] = 0;
- LastPt[Cobj] = 0;
- cpox[Cobj] = spox[Cobj];
- cpoy[Cobj] = spoy[Cobj];
- }
- if(MType[Cact] & ACT_XPATH_OBJXYZ)
- {
- cpox[Cobj] = cpox[Cpob];
- cpoy[Cobj] = cpoy[Cpob];
- }
- else if(MType[Cact] & ACT_XPATH_OBJPTH)
- {
- if ((Gtyp[Cpgo] & GEO_TYPE) == 1)
- GetRectLoc();
- else if((Gtyp[Cpgo] & GEO_TYPE) == 2)
- {
- GetArcLoc();
- }
- else if((Gtyp[Cpgo] & GEO_TYPE) == 3)
- {
- GetPathLoc();
- }
- cpox[Cobj] += cpox[Cpob];
- cpoy[Cobj] += cpoy[Cpob];
- }
- else
- {
- if(MType[Cact] & ACT_XPATH_MOUSE)
- cpox[Cobj] = cmx;
- else
- cpox[Cobj] += dpox[Cobj]; //^^ is this STOP?
-
- if(MType[Cact] & ACT_YPATH_MOUSE)
- cpoy[Cobj] = cmy;
- else
- cpoy[Cobj] += dpoy[Cobj];
- }
- if(Plen[Cobj] != 0) atDis[Cobj] += disStep[Cobj];
- ob[Cobj].style.left=cpox[Cobj] - Gszx[Cgeo] * ob[Cobj].cscx;
- ob[Cobj].style.top =cpoy[Cobj] - Gszy[Cgeo] * ob[Cobj].cscy;
-
- if(Plen[Cobj] > 0 && atDis[Cobj] >= Plen[Cobj])
- {
- if(PathCount[Cobj] > 0) PathCount[Cobj]--;
- if(PathCount[Cobj] == 0) {
- EndPath[Cobj] = 1;
- ob[Cobj].style.left=epox[Cobj] - Gszx[Cgeo] * ob[Cobj].cscx;
- ob[Cobj].style.top =epoy[Cobj] - Gszy[Cgeo] * ob[Cobj].cscy;
- }
- }
- if(Cact) UpdGeo();
- return;
- }
-
- function UpdGeo() {
- var drx = Lpox - cpox[Cobj];
- var dry = Lpoy - cpoy[Cobj];
- if(Math.abs(dry) > Math.abs(drx))
- {
- if ((dry < 0) && (MDir[Cobj] != 270))
- {
- if(MType[Cact] & (ACT_GEO_SOUTH))
- {
- ob[Cobj].image.src = Gspt[MGSth[Cact]].src;
- }
- MDir[Cobj] = 270;
- }
- else if((dry >= 0) && MDir[Cobj] != 90)
- {
- if(MType[Cact] & (ACT_GEO_NORTH))
- {
- ob[Cobj].image.src = Gspt[MGNth[Cact]].src;
- }
- MDir[Cobj] = 90;
- }
- }
- else
- {
- if ((drx > 0) && (MDir[Cobj] != 0))
- {
- if(MType[Cact] & (ACT_GEO_WEST))
- {
- ob[Cobj].image.src = Gspt[MGWst[Cact]].src;
- }
- MDir[Cobj] = 0;
- }
- else if((drx <= 0) && MDir[Cobj] != 180)
- {
- if(MType[Cact] & (ACT_GEO_EAST))
- {
- ob[Cobj].image.src = Gspt[MGEst[Cact]].src;
- }
- MDir[Cobj] = 180;
- }
- }
- return;
- }
-
- function UpdStr() {
- if(lstVal[Cobj] == ob[Cobj].val) return;
- lstVal[Cobj] = ob[Cobj].val;
- if(isIE4)
- ob[Cobj].name.innerText = ob[Cobj].val;
- else
- window.status = "Object " + ob[Cobj].name + " Counter=" + ob[Cobj].val;
-
- return;
- }
-
- function UpdAudio(on)
- {
- if(isIE4)
- {
- if(on > 0)
- {
- if(Scnt[Csnd] < 0) Scnt[Csnd] = 9999;
- SoundEffect.loop= Scnt[Csnd];
- SoundEffect.src = Snam[Csnd];
- // SoundEffect.autostart=1;
- lstsnd = Csnd;
- }
- else
- {
- if(lstsnd != Csnd) return;
- SoundEffect.src= " ";
- SoundEffect.loop= 0;
- SoundEffect.autostart=0;
- }
- }
- else if(isNav4)
- {
- // <embed id = BackMusic src=Snam[Csnd] autostart=true loop= Scnt[Csnd] hidden=true></embed>
- }
- }
-
- /**************************************************************************/
- function GetArcLoc() {
- if(MRate[Cact] > 0)
- {
- cpox[Cobj] = (Math.sin(0.017453292*(-atDis[Cobj]-90)) * Gszx[Cpgo]) * ob[Cpob].cscx;
- cpoy[Cobj] = (Math.cos(0.017453292*(-atDis[Cobj]-90)) * Gszy[Cpgo]) * ob[Cpob].cscy;
- }
- else
- {
- cpox[Cobj] = (Math.sin(0.017453292*(atDis[Cobj]-90)) * Gszx[Cpgo]) * ob[Cpob].cscx;
- cpoy[Cobj] = (Math.cos(0.017453292*(atDis[Cobj]-90)) * Gszy[Cpgo]) * ob[Cpob].cscy;
- }
- return;
- }
- /*************************************************************************/
- function GetPathLoc() {
- var cPt, nPt, x, y, dis=0.0, ratio=0.0, ct = 0;
-
- if(MRate[Cact] > 0)
- {
- while(ct <= Gnpt[Cpgo])
- {
- ct ++;
- if(LastPt[Cobj]+1 < Gnpt[Cpgo])
- {
- cPt = LastPt[Cobj];
- nPt = cPt + 1;
- }
- else
- {
- if(Gtyp[Cpgo] & GEO_OPEN)
- {
- LastPt[Cobj] = 0;
- cPt = 0;
- nPt = 1;
- }
- else
- {
- LastPt[Cobj] = Gnpt[Cpgo]-1;
- cPt = LastPt[Cobj];
- nPt = 0;
- }
- }
- x = (Gpxl[Cpgo][nPt] - Gpxl[Cpgo][cPt]) * ob[Cpob].cscx;
- y = (Gpyl[Cpgo][nPt] - Gpyl[Cpgo][cPt]) * ob[Cpob].cscy;
- dis = Math.sqrt(x*x + y*y);
- if(atDis[Cobj] < (dis + DisPt[Cobj])) break;
- DisPt[Cobj] += dis;
- LastPt[Cobj]++;
- if(LastPt[Cobj] >= Gnpt[Cpgo])
- {
- cPt = 0;
- nPt = 1;
- }
- }
- ratio = (atDis[Cobj] - DisPt[Cobj]) / dis;
- cpox[Cobj] = Gpxl[Cpgo][cPt] * ob[Cpob].cscx + x * ratio;
- cpoy[Cobj] = Gpyl[Cpgo][cPt] * ob[Cpob].cscy + y * ratio;
-
- return;
- }
- else
- {
- nPt = LastPt[Cobj];
- if(nPt == Gnpt[Cpgo]-1)
- cPt = 0;
- else
- cPt = nPt;
- while(ct <= Gnpt[Cpgo])
- {
- ct ++;
- if(nPt > 0)
- {
- cPt = nPt;
- nPt--;
- }
- else
- {
- if(Gtyp[Cpgo] & GEO_OPEN)
- {
- LastPt[Cobj] = Gnpt[Cpgo]-1;
- cPt = LastPt[Cobj];
- nPt = cPt-1;
- }
- else
- {
- cPt = 0;
- nPt = Gnpt[Cpgo]-1;
- LastPt[Cobj] = nPt;
- }
- }
-
- x = (Gpxl[Cpgo][nPt] - Gpxl[Cpgo][cPt]) * ob[Cpob].cscx;
- y = (Gpyl[Cpgo][nPt] - Gpyl[Cpgo][cPt]) * ob[Cpob].cscy;
- dis = Math.sqrt(x*x + y*y);
- if(atDis[Cobj] < (dis + DisPt[Cobj])) break;
- DisPt[Cobj] += dis;
- LastPt[Cobj]--;
- // nPt--;
- // if(nPt < 0)
- // {
- // cPt = 0;
- // nPt = Gnpt[Cpgo]-1;
- // }
- }
- ratio = (atDis[Cobj] - DisPt[Cobj]) / dis;
- cpox[Cobj] = Gpxl[Cpgo][cPt] * ob[Cpob].cscx + x * ratio;
- cpoy[Cobj] = Gpyl[Cpgo][cPt] * ob[Cpob].cscy + y * ratio;
-
- return;
- }
- }
- /************************************************************************/
- function GetRectLoc()
- {
- var dis = 0.0;
-
- while (0==0)
- {
- if(MRate[Cact] > 0)
- {
- if(LastPt[Cobj] == 0)
- {
- dis = (Gpxl[Cpgo][1] - Gpxl[Cpgo][0]) * ob[Cpob].cscx;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][0] * ob[Cpob].cscx + atDis[Cobj];
- cpoy[Cobj] = Gpyl[Cpgo][0] * ob[Cpob].cscy;
- break;
- }
- LastPt[Cobj] = 1;
- DisPt[Cobj] += dis;
- }
- if(LastPt[Cobj] == 1)
- {
- dis = (Gpyl[Cpgo][1] - Gpyl[Cpgo][0]) * ob[Cpob].cscy;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][1] * ob[Cpob].cscx;
- cpoy[Cobj] = Gpyl[Cpgo][0] * ob[Cpob].cscy + (atDis[Cobj]-DisPt[Cobj]);
- break;
- }
- DisPt[Cobj] += dis;
- LastPt[Cobj] = 2;
- }
- if(LastPt[Cobj] == 2)
- {
- dis = (Gpxl[Cpgo][1] - Gpxl[Cpgo][0]) * ob[Cpob].cscx;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][1] * ob[Cpob].cscx - (atDis[Cobj]-DisPt[Cobj]);
- cpoy[Cobj] = Gpyl[Cpgo][1] * ob[Cpob].cscy;
- break;
- }
- DisPt[Cobj] += dis;
- LastPt[Cobj] = 3;
- }
- if(LastPt[Cobj] == 3)
- {
- dis = (Gpyl[Cpgo][1] - Gpyl[Cpgo][0]) * ob[Cpob].cscy;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][0] * ob[Cpob].cscx;
- cpoy[Cobj] = Gpyl[Cpgo][1] * ob[Cpob].cscy - (atDis[Cobj]-DisPt[Cobj]);
- break;
- }
- }
- }
- else
- {
- if(LastPt[Cobj] == 0)
- {
- dis = (Gpyl[Cpgo][1] - Gpyl[Cpgo][0]) * ob[Cpob].cscy;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][0] * ob[Cpob].cscx;
- cpoy[Cobj] = Gpyl[Cpgo][0] * ob[Cpob].cscy + atDis[Cobj];
- break;
- }
- LastPt[Cobj] = 3;
- DisPt[Cobj] += dis;
- }
- if(LastPt[Cobj] == 3)
- {
- dis = (Gpxl[Cpgo][1] - Gpxl[Cpgo][0]) * ob[Cpob].cscx;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][0] * ob[Cpob].cscx + (atDis[Cobj]-DisPt[Cobj]);
- cpoy[Cobj] = Gpyl[Cpgo][1] * ob[Cpob].cscy;
- break;
- }
- DisPt[Cobj] += dis;
- LastPt[Cobj] = 2;
- }
- if(LastPt[Cobj] == 2)
- {
- dis = (Gpyl[Cpgo][1] - Gpyl[Cpgo][0]) * ob[Cpob].cscy;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][1] * ob[Cpob].cscx;
- cpoy[Cobj] = Gpyl[Cpgo][1] * ob[Cpob].cscy - (atDis[Cobj]-DisPt[Cobj]);
- break;
- }
- DisPt[Cobj] += dis;
- LastPt[Cobj] = 1;
- }
- if(LastPt[Cobj] == 1)
- {
- dis = (Gpxl[Cpgo][1] - Gpxl[Cpgo][0]) * ob[Cpob].cscx;
- if((DisPt[Cobj] + dis) > atDis[Cobj])
- {
- cpox[Cobj] = Gpxl[Cpgo][1] * ob[Cpob].cscx - (atDis[Cobj]-DisPt[Cobj]);
- cpoy[Cobj] = Gpyl[Cpgo][0] * ob[Cpob].cscy;
- break;
- }
- }
- }
- }
- return;
- }
- /****************************************************************************/
- function Evtest()
- {
- if(Active[Cobj] == 0)
- {
- if(AEvent[Cevt] & eANDtest)
- ActANDTest();
- else
- ActORTest();
- }
- else if(Active[Cobj] == 1) {
- if(DEvent[Cevt] & eANDtest)
- DeactANDTest();
- else
- DeactORTest();
- }
- return;
- }
- /***************************************************************************/
- function ActORTest()
- {
- if(((AEvent[Cevt] & eDELAY) && TimeCount() <= 0 ) ||
- ( (AEvent[Cevt] & eOBJECT_ENTER) && ObjectEnter(AEnter[Cevt]) ) ||
- ( (AEvent[Cevt] & eOBJECT_LEAVE) && ObjectLeave(ALeave[Cevt]) ) ||
- ( (AEvent[Cevt] & eMOUSE) && MouseSelect() > 0 ) ||
- ( (AEvent[Cevt] & eMOUSE_OVER) && MouseOver() ) ||
- ( (AEvent[Cevt] & eLMOUSE) && IsMouseLClick() ) ||
- ( (AEvent[Cevt] & eRMOUSE) && IsMouseRClick() ) ||
- ( (AEvent[Cevt] & eKEY) && KeyChar() ) ||
- ( (AEvent[Cevt] & eLT_VALUE) && ob[Cobj].val < AValue[Cevt]) ||
- ( (AEvent[Cevt] & eEQ_VALUE) && ob[Cobj].val == AValue[Cevt]) ||
- ( (AEvent[Cevt] & eGT_VALUE) && ob[Cobj].val > AValue[Cevt]) ||
- ( (AEvent[Cevt] & eENDPATH) && EndPath[Cobj] ) )
- Active[Cobj] = 4;
- }
- /***************************************************************************/
- function ActANDTest()
- {
- if(((AEvent[Cevt] & eDELAY) && !(TimeCount() <= 0) ) ||
- ( (AEvent[Cevt] & eOBJECT_ENTER) && !ObjectEnter(AEnter[Cevt]) ) ||
- ( (AEvent[Cevt] & eOBJECT_LEAVE) && !ObjectLeave(ALeave[Cevt]) ) ||
- ( (AEvent[Cevt] & eMOUSE) && !(MouseSelect() > 0) ) ||
- ( (AEvent[Cevt] & eMOUSE_OVER) && !MouseOver() ) ||
- ( (AEvent[Cevt] & eLMOUSE) && !IsMouseLClick() ) ||
- ( (AEvent[Cevt] & eRMOUSE) && !IsMouseRClick() ) ||
- ( (AEvent[Cevt] & eKEY) && !KeyChar() ) ||
- ( (AEvent[Cevt] & eLT_VALUE) && !(ob[Cobj].val < AValue[Cevt])) ||
- ( (AEvent[Cevt] & eEQ_VALUE) && !(ob[Cobj].val == AValue[Cevt])) ||
- ( (AEvent[Cevt] & eGT_VALUE) && !(ob[Cobj].val > AValue[Cevt])) ||
- ( (AEvent[Cevt] & eENDPATH) && !EndPath[Cobj] ) )
- {} else Active[Cobj] = 4;
- }
- /***************************************************************************/
- function DeactORTest()
- {
-
- if(((DEvent[Cevt] & eDELAY) && TimeCount() <= 0 ) ||
- ( (DEvent[Cevt] & eOBJECT_ENTER) && ObjectEnter(DEnter[Cevt]) ) ||
- ( (DEvent[Cevt] & eOBJECT_LEAVE) && ObjectLeave(DLeave[Cevt]) ) ||
- ( (DEvent[Cevt] & eMOUSE) && MouseSelect() > 0 ) ||
- ( (DEvent[Cevt] & eMOUSE_OVER) && !MouseOver() ) ||
- ( (DEvent[Cevt] & eLMOUSE) && IsMouseLClick() ) ||
- ( (DEvent[Cevt] & eRMOUSE) && IsMouseRClick() ) ||
- ( (DEvent[Cevt] & eKEY) && KeyChar() ) ||
- ( (DEvent[Cevt] & eLT_VALUE) && ob[Cobj].val < AValue[Cevt]) ||
- ( (DEvent[Cevt] & eEQ_VALUE) && ob[Cobj].val == AValue[Cevt]) ||
- ( (DEvent[Cevt] & eGT_VALUE) && ob[Cobj].val > AValue[Cevt]) ||
- ( (DEvent[Cevt] & eENDPATH) && EndPath[Cobj] ) )
- Active[Cobj] = 2;
- }
- /***************************************************************************/
- function DeactANDTest()
- {
- if(((DEvent[Cevt] & eDELAY) && !(TimeCount() <= 0) ) ||
- ( (DEvent[Cevt] & eOBJECT_ENTER) && !ObjectEnter(DEnter[Cevt]) ) ||
- ( (DEvent[Cevt] & eOBJECT_LEAVE) && !ObjectLeave(DLeave[Cevt]) ) ||
- ( (DEvent[Cevt] & eMOUSE) && !(MouseSelect() > 0) ) ||
- ( (DEvent[Cevt] & eMOUSE_OVER) && !MouseOver() ) ||
- ( (DEvent[Cevt] & eLMOUSE) && !IsMouseLClick() ) ||
- ( (DEvent[Cevt] & eRMOUSE) && !IsMouseRClick() ) ||
- ( (DEvent[Cevt] & eKEY) && !KeyChar() ) ||
- ( (DEvent[Cevt] & eLT_VALUE) && !(ob[Cobj].val < AValue[Cevt])) ||
- ( (DEvent[Cevt] & eEQ_VALUE) && !(ob[Cobj].val == AValue[Cevt])) ||
- ( (DEvent[Cevt] & eGT_VALUE) && !(ob[Cobj].val > AValue[Cevt])) ||
- ( (DEvent[Cevt] & eENDPATH) && !EndPath[Cobj] ) )
- {} else Active[Cobj] = 2;
- }
- /**************************************************************************/
- function TimeCount() {
- if(TimeLeft[Cobj] > 0)
- {
- if(isNav4) TimeLeft[Cobj] -= 2;
- else TimeLeft[Cobj] -= 1;
- }
- return (TimeLeft[Cobj]);
- }
-
- function ObjectEnter(eobj) {
- x = Gszx[Cgeo] * ob[Cobj].cscx;
- y = Gszy[Cgeo] * ob[Cobj].cscy;
- if ( cpox[eobj] >= (cpox[Cobj] - x) && cpox[eobj] <= (cpox[Cobj]) + x &&
- cpoy[eobj] >= (cpoy[Cobj] - y) && cpoy[eobj] <= (cpoy[Cobj]) + y )
- return 1;
- return 0;
- }
-
- function ObjectLeave(eobj) {
- x = Gszx[Cgeo] * ob[Cobj].cscx;
- y = Gszy[Cgeo] * ob[Cobj].cscy;
- if ( cpox[eobj] >= cpox[Cobj] - x && cpox[eobj] <= cpox[Cobj] + x &&
- cpoy[eobj] >= cpoy[Cobj] - y && cpoy[eobj] <= cpoy[Cobj] + y )
- return 0;
- return 1;
- }
-
- function MouseSelect() {
- var val = 0;
- if(smx == -99999) return val;
- x = Gszx[Cgeo] * ob[Cobj].cscx;
- y = Gszy[Cgeo] * ob[Cobj].cscy;
- if ( smx >= cpox[Cobj] - x && smx <= cpox[Cobj] + x &&
- smy >= cpoy[Cobj] - y && smy <= cpoy[Cobj] + y )
- return val = 1;
- return val;
- }
-
- function MouseOver() {
- x = Gszx[Cgeo] * ob[Cobj].cscx;
- y = Gszy[Cgeo] * ob[Cobj].cscy;
- if ( cmx >= cpox[Cobj] - x && cmx <= cpox[Cobj] + x &&
- cmy >= cpoy[Cobj] - y && cmy <= cpoy[Cobj] + y )
- return 1;
- return 0;
- }
-
- function IsMouseLClick() {
- return (slm && 1);
- }
-
- function IsMouseRClick() {
- return (slm && 2);
- }
-
- function KeyChar() {
- if(!sky) return 0;
- if(isNav4 && (AKey[Cevt] == sky)) return 1;
- if(isIE4 && (IKey[Cevt] == sky)) return 1;
- return 0;
- }
-
- /***************************************************************************/
- function isDeactive() {
- if(PathCount[Cobj] != 0) UpdPos();
- if(Gtyp[Cgeo] & GEO_COUNT) UpdStr();
-
- return;
- }
- /***************************************************************************/
- function isActive() {
- if(PathCount[Cobj] != 0) UpdPos();
- if(Gtyp[Cgeo] & GEO_COUNT) UpdStr();
- return;
- }
- /***************************************************************************/
- function whenActive()
- {
- Active[Cobj] = 1;
- EndPath[Cobj] = 0;
-
- // set default active events
- if(!Cevt)
- {
- TimeLeft[Cobj] = 0;
- PathCount[Cobj] = 0;
- ob[Cobj].style.visibility = "visible";
- }
- else
- {
- if(WAEvent[Cevt] & (1<<14)) window.location=WALink[Cevt];
- if(WAEvent[Cevt] & (1<<15)) window.location=WALink[Cevt];
-
- if(Csnd > 0) UpdAudio((WAEvent[Cevt] & 16));
- // if(WAEvent[Cevt] & 16) UpdAudio(); //sound
- if(WAEvent[Cevt] & 8) ob[Cobj].style.visibility = "visible";
- else ob[Cobj].style.visibility = "hidden";
-
- TimeLeft[Cobj] = DTime[Cevt];
-
- if(WAEvent[Cevt] & (1<<5)) Active[WAAObj[Cevt]] = 4;
- if(WAEvent[Cevt] & (1<<7)) Active[WADObj[Cevt]] = 2;
-
- // apply value
- if(WAEvent[Cevt] & (1<<13)) {
- if ((OpForm[Cevt] & 0x000f) == 0)
- ob[Cobj].val = WAForm[Cevt];
- else if((OpForm[Cevt] & 0x000f) == 1)
- ob[Cobj].val += WAForm[Cevt];
- else if((OpForm[Cevt] & 0x000f) == 2)
- ob[Cobj].val -= WAForm[Cevt];
- else if((OpForm[Cevt] & 0x000f) == 3)
- ob[Cobj].val *= WAForm[Cevt];
- else if((OpForm[Cevt] & 0x000f) == 4)
- if(WAForm[Cevt] != 0) ob[Cobj].val /= WAForm[Cevt];
- }
- // get value
- if(WAEvent[Cevt] & (1<<11)) {
- if ((WAGOp[Cevt] & 0x000f) == 0)
- ob[Cobj].val = ob[WAGVal[Cevt]].val;
- else if((WAGOp[Cevt] & 0x000f) == 1)
- ob[Cobj].val += ob[WAGVal[Cevt]].val;
- else if((WAGOp[Cevt] & 0x000f) == 2)
- ob[Cobj].val -= ob[WAGVal[Cevt]].val;
- else if((WAGOp[Cevt] & 0x000f) == 3)
- ob[Cobj].val*= ob[WAGVal[Cevt]].val;
- else if((WAGOp[Cevt] & 0x000f) == 4)
- if(ob[WAGVal[Cevt]].val != 0) ob[Cobj].val /= ob[WAGVal[Cevt]].val;
- }
- // send result
- if(WAEvent[Cevt] & (1<<9)) {
- if ((WASOp[Cevt] & 0x000f) == 0)
- ob[WASVal[Cevt]].val = ob[Cobj].val;
- else if((WASOp[Cevt] & 0x000f) == 1)
- ob[WASVal[Cevt]].val += ob[Cobj].val;
- else if((WASOp[Cevt] & 0x000f) == 2)
- ob[WASVal[Cevt]].val -= ob[Cobj].val;
- else if((WASOp[Cevt] & 0x000f) == 3)
- ob[WASVal[Cevt]].val *= ob[Cobj].val;
- else if((WASOp[Cevt] & 0x000f) == 4)
- if(ob[Cobj].val != 0) ob[WASVal[Cobj]].val /= ob[Cobj].val;
- }
- if(WAEvent[Cevt] & 4) PathCount[Cobj] = MCount[Cact]; // motion
- // if(WAEvent[Cevt] & (1<<30)) reset(Cobj);
- // replace current object components
- if(WAEvent[Cevt] & (1<<17))
- {
- if(WAEvent[Cevt] & (1<<18)) {
- ob[Cobj].name = Gnam[WACgeo[Cevt]];
- ob[Cobj].geo = WACgeo[Cevt];
- }
- if(WAEvent[Cevt] & (1<<19)) ob[Cobj].att = WACatt[Cevt];
- if(WAEvent[Cevt] & (1<<20)) ob[Cobj].act = WACact[Cevt];
- if(WAEvent[Cevt] & (1<<22)) ob[Cobj].evt = WACevt[Cevt];
- spox[Cobj] = cpox[Cobj];
- spoy[Cobj] = cpoy[Cobj];
- SetPath(Cobj);
- }
- // replace additional object components
- for(ref=0; ref< WACobj[Cevt]; ref++) {
- if(WAEvent[Cevt] & (1<<18)) {
- ob[WANobj[Cevt][ref]].name = Gnam[WACgeo[Cevt]];
- ob[WANobj[Cevt][ref]].geo = WACgeo[Cevt];
- }
- if(WAEvent[Cevt] & (1<<19)) ob[WANobj[Cevt][ref]].att = WACatt[Cevt];
- if(WAEvent[Cevt] & (1<<20)) ob[WANobj[Cevt][ref]].act = WACact[Cevt];
- if(WAEvent[Cevt] & (1<<22)) ob[WANobj[Cevt][ref]].evt = WACevt[Cevt];
- spox[WANobj[Cevt][ref]] = cpox[Cobj];
- spoy[WANobj[Cevt][ref]] = cpoy[Cobj];
- SetPath(WANobj[Cevt][ref]);
- }
-
- if(WAEvent[Cevt] & (1<<30)) reset(Cobj);
- }
- }
- //**************************************************************************
- function whenDeactive()
- {
-
- EndPath[Cobj] = 0;
- Active[Cobj] = 0; // is deactive
-
- if(!Cevt)
- {
- PathCount[Cobj] = -1;
- TimeLeft[Cobj] = 0;
- ob[Cobj].style.visibility = "hidden";
- }
- else
- {
- if(WDEvent[Cevt] & 4) PathCount[Cobj] = MCount[Cact]; // motion
- if(WDEvent[Cevt] & (1<<30)) reset(Cobj);
-
- if(Csnd > 0) UpdAudio((WDEvent[Cevt] & 16)); //sound
- if(WDEvent[Cevt] & 8) ob[Cobj].style.visibility = "visible";
- else ob[Cobj].style.visibility = "hidden";
-
- TimeLeft[Cobj] = ATime[Cevt];
- if(WDEvent[Cevt] & 4) PathCount[Cobj] = MCount[Cact]; // motion
- else PathCount[Cobj] = 0;
-
- if(WDEvent[Cevt] & (1<<5)) Active[WDAObj[Cevt]] = 4;
- if(WDEvent[Cevt] & (1<<7)) Active[WDDObj[Cevt]] = 2;
- }
-
- }
- //**************************************************************************
- function reset(cobj) {
-
- cevt = ob[cobj].evt;
- catt = ob[cobj].att;
- cact = ob[cobj].act;
- cgrp = ob[cobj].grp;
- cgeo = ob[cobj].geo;
-
- Active[cobj] = 0; // is deactive
- if(cevt)
- {
- if(WDEvent[cevt] & 8) ob[cobj].style.visibility = "visible";
- else ob[cobj].style.visibility = "hidden";
- if(WDEvent[cevt] & (1<<31)) {
- PathCount[cobj] = MCount[cact]; // restart path
- cpox[cobj] = spox[cobj];
- cpoy[cobj] = spoy[cobj];
- LastPt[cobj] = 0;
- atDis[cobj] = 0;
- DisPt[cobj] = 0;
- EndPath[cobj] = 0;
- }
- if(!(WDEvent[cevt] & 4)) PathCount[cobj] = 0; // no motion
- TimeLeft[cobj] = ATime[cevt];
- }
- else
- {
- if(ob[cobj].flg & 64)
- ob[cobj].style.visibility = "hidden";
- else
- ob[cobj].style.visibility = "visible";
-
- // set action variables
- if(cact) PathCount[cobj] = MCount[cact]; // motion
- else PathCount[cobj] = 0;
- TimeLeft[cobj] = 0;
-
- cpox[cobj] = spox[cobj];
- cpoy[cobj] = spoy[cobj];
- LastPt[cobj] = 0;
- atDis[cobj] = 0;
- DisPt[cobj] = 0;
- EndPath[cobj] = 0;
- }
-
- if(cgeo)
- {
- ob[cobj].style.left=cpox[cobj] - Gszx[cgeo] * ob[cobj].cscx;
- ob[cobj].style.top =cpoy[cobj] - Gszy[cgeo] * ob[cobj].cscy;
- }
-
- return;
- }
-
- /*************************************************************************/
- function SetPath(cobj) {
-
- cevt = ob[cobj].evt; // Objects event
- catt = ob[cobj].att; // Objects attribute
- cact = ob[cobj].act; // Objects action
- cgrp = ob[cobj].grp; // Objects group
- cgeo = ob[cobj].geo; // Objects geometry
- csnd = ob[cobj].snd; // Objects sound
- cpob = MPath[cact]; // Object actions path object
- cpgo = ob[cpob].geo; // Path objects geometry
- lstVal[cobj] = ob[cobj].val - 100;
-
- MDir[cobj] = -1;
-
- if(!cact) {
- Plen[cobj] = 0;
- noStep = 0;
- disStep[cobj] = 0;
- dpox[cobj] = 0;
- dpoy[cobj] = 0;
- PathCount[cobj] = 0;
- }
- else {
- PathCount[cobj] = MCount[cact];
-
- if(MType[cact] & ACT_XPATH_MOUSE || MType[cact] & ACT_YPATH_MOUSE) { //^^ replaced with linPath??
- Plen[cobj] = 1;
- noStep = 1;
- disStep[cobj] = 1;
- dpox[cobj] = 0;
- dpoy[cobj] = 0;
- }
- else if(MType[cact] & ACT_XPATH_OBJPTH || MType[cact] & ACT_XPATH_OBJXYZ) {
- objPath(cobj,cpob,cpgo);
- }
- else
- {
- linPath(cobj);
- }
- }
- cpox[cobj] = spox[cobj];
- cpoy[cobj] = spoy[cobj];
- LastPt[cobj] = 0;
- atDis[cobj] = 0;
- DisPt[cobj] = 0;
- EndPath[cobj] = 0;
-
- // ob[cobj].left=cpox[cobj] - Gszx[cgeo];
- // ob[cobj].top =cpoy[cobj] - Gszy[cgeo];
- return;
- }
- //****************************************************************************
- function getPathLenth(cobj,cpob,cgeo)
- // return lenth of transformed path
- {
- var i, x = 0.0, y = 0.0;
- Plen[cobj] = 0;
- // find length of rectangle
- if ((Gtyp[cgeo] & GEO_TYPE) == 1) {
- Plen[cobj] = 2 * (Gpxl[cgeo][1] - Gpxl[cgeo][0]) * ob[cpob].cscx
- + 2 * (Gpyl[cgeo][1] - Gpyl[cgeo][0]) * ob[cpob].cscy;
- }
- // find length of ellipse
- else if ((Gtyp[cgeo] & GEO_TYPE) == 2) {
- Plen[cobj] = 360;
- }
- // find length of polygon
- else if ((Gtyp[cgeo] & GEO_TYPE) == 3) {
- for ( i = 1; i < Gnpt[cgeo]; i++)
- {
- x = (Gpxl[cgeo][i] - Gpxl[cgeo][i-1]) * ob[cpob].cscx;
- y = (Gpyl[cgeo][i] - Gpyl[cgeo][i-1]) * ob[cpob].cscy;
- Plen[cobj] += Math.sqrt(x*x + y*y);
- }
-
- if(!(Gtyp[cgeo] & GEO_OPEN))
- {
- x = (Gpxl[cgeo][Gnpt[cgeo]-1] - Gpxl[cgeo][0]) * ob[cpob].cscx;
- y = (Gpyl[cgeo][Gnpt[cgeo]-1] - Gpyl[cgeo][0]) * ob[cpob].cscy;
- Plen[cobj] += Math.sqrt(x*x + y*y);
- }
- }
- }
-
- //************************************************************************************
- function linPath(cobj) {
- epox[cobj] = spox[cobj];
- epoy[cobj] = spoy[cobj];
- var lh = mH;
- var lw = mW;
- if(Version >= 105)
- {
- lh = lh * (MPLen[cact] / 100.);
- lw = lw * (MPLen[cact] / 100.);
- }
-
- if(MType[cact] & ACT_YPATH_UP) {
- if(MType[cact] & ACT_PATH_CENTER) {
- spoy[cobj] += lh;
- epoy[cobj] -= lh;
- }
- else if(MType[cact] & ACT_PATH_END) {
- spoy[cobj] += lh;
- }
- else if(MType[cact] & ACT_PATH_START) {
- epoy[cobj] -= lh;
- }
- }
- else if(MType[cact] & ACT_YPATH_DOWN) {
- if(MType[cact] & ACT_PATH_START) {
- epoy[cobj] += lh;
- }
- else if(MType[cact] & ACT_PATH_END) {
- spoy[cobj] -= lh;
- }
- else if(MType[cact] & ACT_PATH_CENTER) {
- spoy[cobj] -= lh;
- epoy[cobj] += lh;
- }
- }
- else if(MType[cact] & ACT_YPATH_MOUSE) {
- Plen[cobj] = 1;
- noStep = 1;
- disStep[cobj] = 1;
- dpoy[cobj] = 0;
- spoy[cobj] = cpoy[cobj];
- }
-
- if(MType[cact] & ACT_XPATH_LEFT) {
- if(MType[cact] & ACT_PATH_CENTER) {
- spox[cobj] += lw;
- epox[cobj] -= lw;
- }
- else if(MType[cact] & ACT_PATH_END) {
- spox[cobj] += lw;
- }
- else if(MType[cact] & ACT_PATH_START) {
- epox[cobj] -= lw;
- }
- }
- else if(MType[cact] & ACT_XPATH_RIGHT) {
- if(MType[cact] & ACT_PATH_START) {
- epox[cobj] += lw;
- }
- else if(MType[cact] & ACT_PATH_END) {
- spox[cobj] -= lw;
- }
- else if(MType[cact] & ACT_PATH_CENTER) {
- spox[cobj] -= lw;
- epox[cobj] += lw;
- }
- }
- else if(MType[cact] & ACT_YPATH_MOUSE) {
- Plen[cobj] = 1;
- noStep = 1;
- disStep[cobj] = 1;
- dpox[cobj] = 0;
- spox[cobj] = cpox[cobj];
- }
- var x = epox[cobj] - spox[cobj];
- var y = epoy[cobj] - spoy[cobj];
- if(x+y)
- {
- Plen[cobj] = Math.sqrt(x*x + y*y);
- noStep = Math.abs(Plen[cobj] / MRate[cact]);
- if(noStep < 1) noStep = 1;
- disStep[cobj] = Plen[cobj] / noStep;
- dpox[cobj] = x / noStep;
- dpoy[cobj] = y / noStep;
- }
- else
- {
- Plen[cobj] = 0;
- dpox[cobj] = 0;
- dpoy[cobj] = 0;
- disStep[cobj] = 0;
- }
- return
- }
-
- function objPath(cobj,cpob,cpgo)
- {
- if ((Gtyp[cpgo] & GEO_TYPE) == 1) {
- spox[cobj] = Gpxl[cpgo][0] * ob[cpob].cscx + ob[cpob].cpox;
- spoy[cobj] = Gpyl[cpgo][0] * ob[cpob].cscy + ob[cpob].cpoy;
- epox[cobj] = spox[cobj];
- epoy[cobj] = spoy[cobj];
- }
- else if ((Gtyp[cpgo] & GEO_TYPE) == 2) {
- spox[cobj] = (Gpxl[cpgo][0] - Gpxl[cpob][1]) * ob[cpob].cscx + ob[cpob].cpox;
- spoy[cobj] = (Gpyl[cpgo][0] - Gpyl[cpob][1]) * ob[cpob].cscy + ob[cpob].cpoy;
- epox[cobj] = spox[cobj];
- epoy[cobj] = spoy[cobj];
- }
- else if ((Gtyp[cpgo] & GEO_TYPE) == 3) {
- spox[cobj] = Gpxl[cpgo][0] * ob[cpob].cscx + ob[cpob].cpox;
- spoy[cobj] = Gpyl[cpgo][0] * ob[cpob].cscy + ob[cpob].cpoy;
- if(Gtyp[cpgo] & GEO_OPEN)
- {
- epox[cobj] = Gpxl[cpgo][Gnpt[cpgo]-1] * ob[cpob].cscx + ob[cpob].cpox;
- epoy[cobj] = Gpyl[cpgo][Gnpt[cpgo]-1] * ob[cpob].cscy + ob[cpob].cpoy;
- }
- else
- {
- epox[cobj] = spox[cobj];
- epoy[cobj] = spoy[cobj];
- }
- }
-
- getPathLenth(cobj,cpob,cpgo);
- if(cact)
- noStep = Math.abs(Plen[cobj] / MRate[cact]);
- else
- noStep = 0;
- if(noStep < 1) noStep = 1;
- disStep[cobj] = Plen[cobj] / noStep;
-
- return;
- }
-
- //window.status = " Cobj=" + Cobj + " epox[Cobj]=" + epox[Cobj] + " Cgeo=" + Cgeo;
- //window.status = " Deact cobj=" + cobj + " WDEvent[Cevt] & (1<<5)=" + WDEvent[Cevt] & (1<<5) + " Active[WDAObj[Cevt]]=" + Active[WDAObj[Cevt]];
- //if(Cobj==2) window.status = " Cobj=" + Cobj + " ob[Cobj].val=" + ob[Cobj].val;
- //-->
-